﻿//题目描述
//有一批型号相同的商品中混入了若干个型号不同的赝品，请你找出这些赝品并将它们按型号从小到大输出。
//保证每个赝品的型号只出现了一次。
//输入描述 :
//第一行输入一个正整数n，代表商品的总数量。
//第二行输入n个正整数ai​，代表每个商品的型号。3≤n≤10^51≤ai​≤10^9
//保证至少有一个赝品。保证真品的出现次数不少于2次。
//输出描述 :
//第一行输出一个正整数k，代表赝品的数量。
//第二行输出k个正整数𝑎𝑖​，代表每个赝品的型号。
//示例1
//输入
//复制
//5
//2 5 3 2 2
//输出
//复制
//2
//3 5
//说明
//显然2号是真品，其余的均为赝品。
//示例2
//输入
//复制
//4
//9 9 2 9
//输出
//复制
//1
//2
#include<bits/stdc++.h>
using namespace std;
 
typedef long long ll;
int main() {
	ll n;
	cin >> n;
	vector<ll>a(n);
	map<ll,ll>m;
	vector<ll>b;
	for (int i = 0; i < n; i++) { 
		cin >> a[i];
		m[a[i]]++;
	}
	ll ma = 0;
	for (auto l = m.begin(); l != m.end(); l++) {
		if (l->second > ma)
			ma = l->second;
	}

	for (auto i : m) {
		if (i.second != ma) {
			b.push_back(i.first);
		}
	}
	sort(b.begin(), b.end());
	cout << b.size() << "\n";
	for (int i = 0; i<b.size(); i++) {
		cout<<b[i]<<" ";
	}
	return 0;
}
